#ifndef MYITEM_H
#define MYITEM_H
/*
QGraphicsObject类为所有需要信号、插槽和属性的图形项提供了一个基类。
该类使用QObject的信号/插槽和属性机制扩展了QGraphicsItem。它将QGraphicsItem的许多基本setter和getter映射到属性，并为其中许多添加通知信号。
父对象和子对象
每个图形对象都可以用一个父项来构造。这样可以确保在销毁其父项时销毁该项。
尽管QGraphicsObject继承自QObject和QGraphicsItem，但您应该使用QGraphicsIItem而不是QObject提供的函数来管理父项和子项之间的关系。
可以使用parentItem（）和childItems（）函数来探索项之间的关系。






*/
#include <QGraphicsItem>

class DropItem : public QGraphicsObject
{
public:
    DropItem(QGraphicsItem *parent = nullptr);

    QRectF boundingRect() const override;
    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override;

protected:
    void dragEnterEvent(QGraphicsSceneDragDropEvent *event) override;
    void dragLeaveEvent(QGraphicsSceneDragDropEvent *event) override;
    void dropEvent(QGraphicsSceneDragDropEvent *event) override;

private:
    QColor color;
    bool dragOver;
};

#endif // MYITEM_H
